home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / dxlib50.zip / MICROSOF.ZIP / EXAMP1.ASM < prev    next >
Assembly Source File  |  1995-02-11  |  2KB  |  44 lines

  1. ;   This program illustrates the simplicity of using XLIB.  Be sure to link
  2. ;the program using the CPARM:1 parameter.
  3.  
  4.                .MODEL        LARGE,PASCAL,FARSTACK
  5.                .386
  6.  
  7.                INCLUDE        XLIB.INC       ;Include XLIB public symbols
  8.                INCLUDELIB     XLIB.LIB       ;Link with XLIB.LIB
  9.  
  10.                .STACK         1024
  11.                .CODE
  12.                .STARTUP
  13.  
  14.                CALL           INITXLIB       ;Initialize XLIB
  15.                OR             EAX,EAX        ;EAX = 0 if successful
  16.                JZ             INITDONE
  17.                .EXIT          0              ;Initialization failed
  18.                                              ;Be sure to link with /CPARM:1
  19. INITDONE:      PUSHD          OFFSET DEMOPROC
  20.                CALL           CALLPM         ;Execute DEMOPROC in protected
  21.                .EXIT          0
  22.  
  23. ;Protected-mode routines must be placed in following segment:
  24. TSEG           SEGMENT PARA PUBLIC USE32 'CODE'
  25.                ASSUME CS:TSEG, SS:TSEG, DS:TSEG, ES:TSEG, FS:DSEG, GS:DGROUP
  26.  
  27. ;Protected-mode routine to print message to the screen using DOS function.
  28. DEMOPROC       PROC NEAR
  29.                MOV            EBX,OFFSET PMMSG
  30.                MOV            AH,02H
  31. MSGLOOP:       MOV            DL,CS:[EBX]    ;32-bit offset!!!!!
  32.                OR             DL,DL
  33.                JZ             EXIT
  34.                INT            21H            ;Print character with DOS
  35.                INC            EBX
  36.                JMP            MSGLOOP
  37. EXIT:          RET                           ;Go back to real or V86 mode
  38. PMMSG          DB  "In 32-bit protected mode!!!  "
  39.                DB  "Returning to real mode.",10,13,0
  40. DEMOPROC       ENDP
  41.  
  42. TSEG           ENDS
  43.                END
  44.